#if !GENERATOR

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections.Generic;

using YF.OneNote;


namespace YF.OneNote.DataTypes
{
  public partial class Outline
  {
    public Outline()
    {
      
	}

    
  
    protected override bool UpdateContents(NotesNode newContent, List<INotesChange> changes)
    {
	  Outline item = (Outline)newContent;
      bool changed = false;

      
      if (author != item.author)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = authorField;
        propertyChange.NewValue = item.authorField;
        propertyChange.PropertyName = "author";
        changes.Add(propertyChange);

		
        authorField = item.authorField;
      }

      if (creationTime != item.creationTime)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = creationTimeField;
        propertyChange.NewValue = item.creationTimeField;
        propertyChange.PropertyName = "creationTime";
        changes.Add(propertyChange);

		
        creationTimeField = item.creationTimeField;
      }

      if (lang != item.lang)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = langField;
        propertyChange.NewValue = item.langField;
        propertyChange.PropertyName = "lang";
        changes.Add(propertyChange);

		
        langField = item.langField;
      }

      if (lastModifiedBy != item.lastModifiedBy)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = lastModifiedByField;
        propertyChange.NewValue = item.lastModifiedByField;
        propertyChange.PropertyName = "lastModifiedBy";
        changes.Add(propertyChange);

		
        lastModifiedByField = item.lastModifiedByField;
      }

      if (style != item.style)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = styleField;
        propertyChange.NewValue = item.styleField;
        propertyChange.PropertyName = "style";
        changes.Add(propertyChange);

		
        styleField = item.styleField;
      }


      return changed;
    }
  }
}

#endif